#import <Foundation/Foundation.h>
#import <AppKit/AppKit.h>
/*
Copyright (C) 2013 Johan Ceuppens

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#define STR_EXPAND(tok) #tok
#define STR(tok) STR_EXPAND(tok)

typedef void* _ReturnTypeVoidStar; 
typedef NSString* _ReturnTypeString; 

#define __SIGCM_CLASS(class1) \
	[class1 class]

#define __SIGCM_CLASSNAME(class1) \
	[class1 className]

#define __SIGCM_RETURNTYPEDECL(classname,vars,methods) \
 \
@interface classname : _Stub \
{ \
	vars \
} \
	methods \
@end 

#define __SIGCM_TYPEDECL(classname,vars,methods) \
 \
@interface classname : _Stub \
{ \
	vars \
} \
	methods \
@end 

#define __SIGCM_TYPEIMP(classname, methods) \
@implementation classname \
	methods \
@end 

#define __SIGCM_RETURNTYPECLASS \
	__SIGCM_CLASS(__SIGCM_CLASS(_Stub))\


#define __SIGCM_RETURNTYPEIMP(classname, methods) \
@implementation classname \
	methods \
@end 

#define __SIGCM_RETURNTYPECLASS \
	__SIGCM_CLASS(__SIGCM_CLASS(_Stub))\

typedef _ReturnTypeVoidStar(*_PtrFun1)(void*);
typedef _ReturnTypeVoidStar(*_PtrFun2)(void*,void*);

